﻿using System.Collections.Generic;

namespace FinalFantasy6Randomizer
{
    class Character
    {
        public RomAddress<string> Name { get; set; }
        public List<RomAddress<int>> PaletteOverworld { get; set; }
        public List<RomAddress<int>> PaletteNpcs { get; set; }
        public List<RomAddress<int>> PaletteAltNpcs { get; set; }
        public List<RomAddress<int>> PaletteShops { get; set; }
        public RomAddress<int> HP { get; set; }
        public RomAddress<int> MP { get; set; }
        public RomAddress<MenuItem> Menu1 { get; set; }
        public RomAddress<MenuItem> Menu2 { get; set; }
        public RomAddress<MenuItem> Menu3 { get; set; }
        public RomAddress<MenuItem> Menu4 { get; set; }
        public RomAddress<int> Vigor { get; set; }
        public RomAddress<int> Speed { get; set; }
        public RomAddress<int> Stamina { get; set; }
        public RomAddress<int> MagicPower { get; set; }
        public RomAddress<int> BattlePower { get; set; }
        public RomAddress<int> Defense { get; set; }
        public RomAddress<int> MagicDefense { get; set; }
        public RomAddress<int> Evade { get; set; }
        public RomAddress<int> MagicBlock { get; set; }
        public RomAddress<Item> Hand1 { get; set; }
        public RomAddress<Item> Hand2 { get; set; }
        public RomAddress<Item> Head { get; set; }
        public RomAddress<Item> Body { get; set; }
        public RomAddress<Item> Relic1 { get; set; }
        public RomAddress<Item> Relic2 { get; set; }
        public RomAddress<int> RunSuccess { get; set; }

        public Character()
        {
            Name = new RomAddress<string>();
            PaletteOverworld = new List<RomAddress<int>>();
            PaletteNpcs = new List<RomAddress<int>>();
            PaletteShops = new List<RomAddress<int>>();
            HP = new RomAddress<int>();
            MP = new RomAddress<int>();
            Menu1 = new RomAddress<MenuItem>();
            Menu2 = new RomAddress<MenuItem>();
            Menu3 = new RomAddress<MenuItem>();
            Menu4 = new RomAddress<MenuItem>();
            Vigor = new RomAddress<int>();
            Speed = new RomAddress<int>();
            Stamina = new RomAddress<int>();
            MagicPower = new RomAddress<int>();
            BattlePower = new RomAddress<int>();
            Defense = new RomAddress<int>();
            MagicDefense = new RomAddress<int>();
            Evade = new RomAddress<int>();
            MagicBlock = new RomAddress<int>();
            Hand1 = new RomAddress<Item>();
            Hand2 = new RomAddress<Item>();
            Head = new RomAddress<Item>();
            Body = new RomAddress<Item>();
            Relic1 = new RomAddress<Item>();
            Relic2 = new RomAddress<Item>();
            RunSuccess = new RomAddress<int>();
        }
        
    }
}
